Graph Program Extraction
コンパイラが任意の機械学習コードを自動でグラフに変換する
Docs読みメモ(随時少しまとめて切り出している) 通常のコンパイルフローの中で自動的にグラフを作成する
Swiftコンパイラのgraph program extraction algorithmを使用する Motivation
MLフレームワークは高性能計算ができるところが良い点
だが、実際には十分に活用されていない
なぜなら、これを扱うためには手間や専門知識が必要だから
グラフ抽象化のパフォーマンス
行列の形状の不一致などを静的に検出することができる
Related Work
機械学習モデルには二種類のコードが混在している
やってることは、
tensor logicを見つける→抽出する→アクセラレータに送信する
tensor number crunching logic
other general code for command line option processing
data pipeline setup
ther orchestration logic.
ML frameworkが開発される前のライブラリ
NumPy, Eigen, MatLabなど
線形代数を理解していれば簡単
op fusionが何かわからん mrsekut.icon
パフォーマンス的にめっちゃ悪くなる
これがML frameworkが生まれたきっかけになっている
↑この単語使われてないのねmrsekut.icon
ここから未読
https://www.youtube.com/watch?v=HSneJdPkaKk
参考